perm filename APP5.XGP[AIM,DBL]1 blob
sn#124705 filedate 1974-10-17 generic text, type T, neo UTF8
/LMAR=0/FONT#0=FIX25/FONT#1=SIGN57/FONT#2=SHD40/FONT#3=BDI25/FONT#4=NGB30/FONT#5=NGR20
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓␈↓↓APPENDIX 5. ␈↓ ␈↓αCF .... DIALOGUE␈↓
␈↓ α,␈↓Here␈α∩are␈α∪fragments␈α∩of␈α∪the␈α∩dialogue␈α∪which␈α∩the␈α∪user␈α∩went␈α∪through␈α∩with␈α∪PUP6␈α∩to
␈↓ α,␈↓generate␈α⊗the␈α↔CF␈α⊗program.␈α↔ Near␈α⊗the␈α⊗front,␈α↔we␈α⊗entered␈α↔a␈α⊗frequent-interrupt
␈↓ α,␈↓mode␈α⊂to␈α⊂show␈α⊂what␈α⊂that␈α⊂is␈α⊂like.␈α⊂ For␈α⊂the␈α⊂sake␈α⊂of␈α⊂example,␈α⊂this␈α⊂same␈α⊂piece␈α⊂was
␈↓ α,␈↓re-run␈α⊃without␈α∩interrupting.␈α⊃ This␈α∩is␈α⊃all␈α∩noted␈α⊃below.␈α∩ As␈α⊃usual,␈α∩the␈α⊃user's
␈↓ α,␈↓reponses␈α⊃are␈α⊃␈↓βITALICIZED␈↓,␈α⊃and␈α⊃the␈α⊃author's␈α⊃meta-comments␈α⊃are␈α⊃in␈α∩␈↓∧LARGE,␈α⊃BOLD
␈↓ α,␈↓∧type␈↓.
␈↓ α,␈↓←␈↓βENTER(T)␈↓
␈↓ α,␈↓USER INTERRUPT LEVEL... ␈↓β0␈↓
␈↓ α,␈↓PUP: (PUP WANTS ANY TASK)
␈↓ α,␈↓USER: ␈↓β(WRITE A PROGRAM WHICH DOES CONCEPT FORMATION)␈↓
␈↓ α,␈↓PUP: (PUP IS ABOUT TO WRITE A PROGRAM TO DO (CONCEPT:FORMATION))
␈↓ α,␈↓PUP: ((C:F CONCEPT:FORMATION C CF) IS THE SET OF PLAUSIBLE NAMES OF (CON
␈↓ α,␈↓ -CEPT FORMATION) WHICH IS AN EXPANSION OF (
␈↓ α,␈↓CONCEPT:FORMATION))
␈↓ α,␈↓PUP: (PUP WANTS USER TO TYPE IN NAME FOR (CONCEPT:FORMATION))
␈↓ α,␈↓I DON'T KNOW ANY NAMES FOR ( CONCEPT:FORMATION), SO YOU'LL HAVE TO
␈↓ α,␈↓TYPE A BRAND NEW NAME IN TO ME.
␈↓ α,␈↓USER: ␈↓βCF␈↓
␈↓ α,␈↓PUP: (PUP AND USER ARE ABLE TO REFER TO (CONCEPT:FORMATION) AS TASK:NAME
␈↓ α,␈↓ WHICH IS CF:1)
␈↓ α,␈↓PUP: (THE NAME OF THE PROGRAM TO DO (CONCEPT:FORMATION) IS CF:1)
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α,page A5.1␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓␈↓∧*************************************************************
␈↓ α,␈↓∧The user interrupts, and switches to a frequent-interrupt mode:␈↓
␈↓ α,␈↓:␈↓βNEW:LEVEL(10)␈↓
␈↓ α,␈↓USER INTERRUPT LEVEL... (PERMIT:USER:INTERRUPT)
␈↓ α,␈↓:␈↓βOK␈↓
␈↓ α,␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** CHOOSE:FROM *** (WRITE:PROGRAM SERVE)
␈↓ α,␈↓␈↓∧This last request, CH, asked PUP6 to type out the control history;
␈↓ α,␈↓∧who called who, etc. In the current case, this is simply a stack.
␈↓ α,␈↓∧The present BEING is CHOOSE:FROM, and it is delimited by asterisks.
␈↓ α,␈↓∧It was called by WRITE:PROGRAM which was called by SERVE.␈↓
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(CHOOSE THE BEST BEING FROM THE SET (OBTAIN:USABLE:INFORMATION
␈↓ α,␈↓USE:INFORMATION FILL:IN:UNDEFINED:SECTION CLARIFY:IMPROBABLE:SITUATION
␈↓ α,␈↓ADAPT:PRECONCEIVED:FUNCTION FIX:INCORRECT:PIECE ) OF BEINGS)
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(BECAUSE THE FLOW OF CONTROL OF A PROGRAM MUST BE DETERMINATE)
␈↓ α,␈↓REQUEST: ␈↓βOLDER
␈↓ α,␈↓β␈↓WRITE:PROGRAM
␈↓ α,␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓(CHOOSE:FROM) *** WRITE:PROGRAM *** (SERVE)
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(WRITE A PROGRAM WHICH DOES (CONCEPT:FORMATION))
␈↓ α,␈↓␈↓∧ <notice the effect of saying␈↓ ␈↓βOLDER␈↓ ␈↓∧; questions are now
␈↓ α,␈↓∧ directed to WRITE:PROGRAM instead of to CHOOSE:FROM.>␈↓
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(FUNDAMENTAL DRIVE TO OBEY USER; ALSO, IT IS NECESSARY THAT CODE BE WR
␈↓ α,␈↓ -ITTEN TO DO (CONCEPT:FORMATION) IN ORDER THAT
␈↓ α,␈↓THE TASK (CONCEPT:FORMATION) MIGHT BE COMPLETED; ALSO, EXAMINE SPEC:WHY)
␈↓ α,␈↓REQUEST: ␈↓βSPEC:WHY
␈↓ α,␈↓β␈↓(WE CALL THE FIRST BEING WHICH CAN BRING ABOUT THE EFFECT (TYPE OF ((C
␈↓ α,␈↓ -ONCEPT:FORMATION) HAS BEEN STUDIED)))
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(CREATE SPECIALIZED LISP CODE WHICH WILL DO (CONCEPT:FORMATION))
␈↓ α,␈↓REQUEST: ␈↓β?
␈↓ α,␈↓ YOUR OPTIONS ARE AS FOLLOWS:
␈↓ α,␈↓QUIT END THE INTERRUPT
␈↓ α,␈↓BEING PRINT NAME OF CURRENT BEING
␈↓ α,␈↓DEMONS PRINT SET OF DEMONS CURRENTLY ACTIVE
␈↓ α,␈↓CONTROL:HISTORY PRINT LIST OF BEINGS IN CONTROL, THE PATH FROM THE
␈↓ α,␈↓ CURRENT BEING BACK TO THE BEGINNING OF THE PROGRAM
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.2␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓OLDER CONSIDER THE BEING WHICH CALLED THE CURRENT ONE
␈↓ α,␈↓YOUNGER CONSIDER THE BEING WHICH THE CURRENT ONE CALLED
␈↓ α,␈↓OLDEST CONSIDER THE FIRST BEING IN CONTROL
␈↓ α,␈↓YOUNGEST CONSIDER THE LAST BEING IN CONTROL
␈↓ α,␈↓SPEC:WHEN AN EVALUATED VERSION OF 'WHEN'
␈↓ α,␈↓FAIL END THE INTERRUPT AND CAUSE CURRENT BEING TO FAIL
␈↓ α,␈↓NEW:LEVEL CHANGE THE USER:INTERRUPT LEVEL
␈↓ α,␈↓SPEC:WHY PRINT OUT THE SPECIFIC REASON(S) THAT THIS BEING WAS
␈↓ α,␈↓ CALLED. THIS DIFFERS FROM 'WHY' IN SENSE THAT SPEC:WHY IS
␈↓ α,␈↓ THE REASON GIVEN BY THE CALLER, WHERAS WHY IS THE REASON
␈↓ α,␈↓ STORED WITH THE CURRENT BEING PERMANENTLY.
␈↓ α,␈↓TYPING ONE OF THESE WILL PRINT OUT WRITE:PROGRAM'S ANSWER TO THAT QUESTI
␈↓ α,␈↓ -ON:
␈↓ α,␈↓(IDEN IMPLICIT:ARGS EXPLICIT:ARGS EXPLICIT:ARGS:CHECK NLAMBDA NON:EVAL:A
␈↓ α,␈↓ -RGS WHAT HOW WHY SPEC:WHY MAIN:EFFECTS MINOR:EFFECTS WHEN META:CODE CO
␈↓ α,␈↓ -MMENTS PRE:REQUISITES CO:REQUISITES POST:REQUISITES DEMONS AFFECTS COM
␈↓ α,␈↓ -PLEXITY: GENERALIZATIONS SPECIALIZATIONS ALTERNATIVES PREDICATE
␈↓ α,␈↓ -DATA:STRUCTURE ENCODABLE INHIBIT:CURRENT:DEMONS FORM:CHANGING)
␈↓ α,␈↓REQUEST: ␈↓βSPEC:WHEN
␈↓ α,␈↓β␈↓((T IS T SO WE DO ADD IN THE WEIGHT (COND ((MEMBER TASK ABLE:PUP:LIST)
␈↓ α,␈↓ -75) (T 40))
␈↓ α,␈↓ WHICH IN THE CURRENT CASE IS 40;
␈↓ α,␈↓ THE EXPLANATION IS (BECAUSE A PRE:EXISTING ABILITY TO DO ( CON
␈↓ α,␈↓ CEPT:FORMATION) IMPLIES THAT WRITING A NEW
␈↓ α,␈↓ PROGRAM TO ACCOMPLISH IT IS SUPERFLUOUS AND,
␈↓ α,␈↓ CONVERSELY, THE INABILITY TO
␈↓ α,␈↓ DO ( CONCEPT:FORMATION) ABDUCTIVELY
␈↓ α,␈↓ ENCOURAGES US THAT WE ARE ON THE RIGHT TRACK))
␈↓ α,␈↓ ((MEMBER TASK WRITTEN:PROGRAMS:LIST) IS NIL, SO WE DONT ADD IN THE
␈↓ α,␈↓ WEIGHT -80 WHICH IN THE CURRENT CASE IS -80 ;
␈↓ α,␈↓ THE EXPLANATION IS (BECAUSE WE ARE NOT MUCH AFTER EFFICIENCY, AND
␈↓ α,␈↓ IF A PROGRAM ALREADY EXISTS, THEN WE SHOULD USE IT))
␈↓ α,␈↓ ((MEMBER ( PUP IS ABOUT TO WRITE A PROGRAM TO DO (TASK)) AWARE:USER:LIST)
␈↓ α,␈↓ IS NIL SO WE DONT ADD IN THE WEIGHT 70
␈↓ α,␈↓ WHICH IN THE CURRENT CASE IS 70 ;
␈↓ α,␈↓ THE EXPLANATION IS (BECAUSE WE GO BY THE OLD
␈↓ α,␈↓ ENGLISH LEGAL RULE THAT SILENCE SIGNIFIES APPROVAL))
␈↓ α,␈↓ (T IS T SO WE DO ADD IN THE WEIGHT (COND (NEW:INFO:LIST -120)
␈↓ α,␈↓ (T 40)) WHICH IN THE CURRENT CASE IS 40 ;
␈↓ α,␈↓ THE EXPLANATION IS (BECAUSE WE SHOULD USE UP THE NEW INFORMATION BEFORE
␈↓ α,␈↓ WRITING PROGRAMS
␈↓ α,␈↓ ALSO: BECAUSE IF NO NEW INFO IS PRESENT,
␈↓ α,␈↓ THEN WE NEEDN'T FEEL GUILTY ABOUT STARTING TO WRITE
␈↓ α,␈↓ A PROGRAM)))
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.3␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓(THE FINAL WHEN VALUE IS THUS 80)
␈↓ α,␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓(CHOOSE:FROM) *** WRITE:PROGRAM *** (SERVE)
␈↓ α,␈↓REQUEST: ␈↓βOLDER
␈↓ α,␈↓β␈↓SERVE
␈↓ α,␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓(CHOOSE:FROM WRITE:PROGRAM) *** SERVE *** NIL
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(DO ANYTHING THE USER ASKS)
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(FUNDAMENTAL DRIVE TO SERVE THE USER)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(GET A TASK FROM THE USER)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βY
␈↓ α,␈↓NO, NO. TYPE YES OR NO ......... INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βBEING
␈↓ α,␈↓β␈↓BETTER
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(DECIDE WHICH OF (USE:INFORMATION (QUOTE PGM)) (OBTAIN:USABLE:INFORMAT
␈↓ α,␈↓ -ION (QUOTE PGM)) IS MORE A PROPOS TO TRY)
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(PUP CAN ONLY TRY AT MOST ONE OF USE:INFORMATION AND OBTAIN:USABLE:INF
␈↓ α,␈↓ -ORMATION AT A TIME)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(COMPARE THE WHEN PARTS OF USE:INFORMATION AND OBTAIN:USABLE:INFORMATI
␈↓ α,␈↓ -ON AND, IF NECESSARY, COMPARE THEIR COMPLEXITY
␈↓ α,␈↓S)
␈↓ α,␈↓REQUEST: ␈↓βCOMPLEXITY:
␈↓ α,␈↓β␈↓(.5 .5 .5 .5 .1)
␈↓ α,␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** BETTER *** (CHOOSE:FROM WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βNO
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βNO
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βNO
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(FAST:SATISFY THE SIMPLE SUBGOAL (TYPE OF ((CONCEPT:FORMATION) HAS BEE
␈↓ α,␈↓ -N STUDIED)))
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(PASS CONTROL TO THE SIMPLEST SUFFICIENT BEING)
␈↓ α,␈↓REQUEST: ␈↓βAFFECTS
␈↓ α,␈↓β␈↓(((STUDY:TYPE (CONCEPT:FORMATION)) POSSIBLE:CALLED) (TRY:BEING CALLED)
␈↓ α,␈↓ (SORT CALLED) (A:BEING:ORDER CALLED))
␈↓ α,␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** SATISFY *** (FILL:IN:UNDEFINED:SECTION CHOOSE:FROM WRITE:PROGR
␈↓ α,␈↓ -AM SERVE)
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.4␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓REQUEST: ␈↓βOLDER
␈↓ α,␈↓β␈↓FILL:IN:UNDEFINED:SECTION
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(FILL IN AN UNDEFINED SECTION OF CODE AND ADD IT TO THE PROGRAM PGM)
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(BECAUSE ALL PIECES OF CODE MUST BE DEFINED OR THE PROGRAM WONT RUN)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(CHOOSE THE SIMPLEST UNDEFINED PIECE AND ENCODE IT)
␈↓ α,␈↓REQUEST: ␈↓βCHOICE
␈↓ α,␈↓β␈↓( CF:1 TYPE OF ( CONCEPT:FORMATION))
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βBEING
␈↓ α,␈↓β␈↓REINVESTIGATE:DECISION
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(RESOLVE THE DECISION
␈↓ α,␈↓ (BOOLEAN (SUBJECT:SPECIFIC BEHAVIOR MAY BE REQUIRED OF CF:1)
␈↓ α,␈↓ AFFECTS (WHETHER PARAMETERS
␈↓ α,␈↓ DESCRIBING AN INDIVIDUAL MUST BE READ IN BY CF:1)
␈↓ α,␈↓ WHEN (BEFORE ANY ROUTINES ARE FINALIZED)
␈↓ α,␈↓ WHY (BECAUSE ANY PROCESSING
␈↓ α,␈↓ ROUTINE MAY HAVE TO DEPEND UPON SOME INDIVIDUAL PARAMETERS)
␈↓ α,␈↓ CONCEPT:FORMATION
␈↓ α,␈↓ BECAUSE (SETINTERSECTION UNDEFINED:SECTION:LIST DOING:PUP:LIST)
␈↓ α,␈↓ IS NOW NONNULL; FIRST TRY TO DEFER IT A LITTLE LONGER)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(TRY TO DEFER UNTIL ;ELSE TRY TO RESOLVE IT WITH PRESENT KNOWLEDGE ;EL
␈↓ α,␈↓ -SE ASK THE USER TO RESOLVE IT)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** DEFER:DECISION *** (REINVESTIGATE:DECISION FILL:IN:UNDEFINED:S
␈↓ α,␈↓ -ECTION CHOOSE:FROM WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** UTILIZE *** (WHEN:NEXT DEFER:DECISION REINVESTIGATE:DECISION F
␈↓ α,␈↓ -ILL:IN:UNDEFINED:SECTION CHOOSE:FROM
␈↓ α,␈↓WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(SEARCH THROUGH NIL FOR APPLICABLE RULES)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** RESOLVE:DECISION *** (DEFER:DECISION REINVESTIGATE:DECISION FI
␈↓ α,␈↓ -LL:IN:UNDEFINED:SECTION CHOOSE:FROM
␈↓ α,␈↓WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.5␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓β␈↓(AS FAR AS WE KNOW AT THIS INSTANT, THE DECISION (BOOLEAN (SUBJECT:SPE
␈↓ α,␈↓ -CIFIC BEHAVIOR MAY BE REQUIRED OF CF:1) ) CANNOT BE
␈↓ α,␈↓DEFERRED ANY LONGER)
␈↓ α,␈↓REQUEST: ␈↓βHOW
␈↓ α,␈↓β␈↓(TRY TO RESOLVE (BOOLEAN (SUBJECT:SPECIFIC BEHAVIOR MAY BE REQUIRED OF
␈↓ α,␈↓ CF:1)) WITH PRESENT KNOWLEDGE; IF THAT FAILS, ASK
␈↓ α,␈↓THE USER ABOUT IT)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓β␈↓INTERRUPT? ␈↓βYES
␈↓ α,␈↓β␈↓REQUEST: ␈↓βCH
␈↓ α,␈↓β␈↓NIL *** ASK:USER:ABOUT *** (RESOLVE:DECISION DEFER:DECISION REINVESTIG
␈↓ α,␈↓ -ATE:DECISION FILL:IN:UNDEFINED:SECTION
␈↓ α,␈↓CHOOSE:FROM WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βWHAT
␈↓ α,␈↓β␈↓(ASK THE USER TO RESOLVE DECISION ((BOOLEAN (SUBJECT:SPECIFIC BEHAVIOR
␈↓ α,␈↓ MAY BE REQUIRED OF CF:1))
␈↓ α,␈↓REQUEST: ␈↓βWHY
␈↓ α,␈↓β␈↓(BECAUSE PUP CANNOT RESOLVE IT, BUT MUST AT THIS TIME)
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓MOVE CURSOR TO ( CF:1 TYPE OF ( CONCEPT:FORMATION))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS BOOLEAN DECISIO
␈↓ α,␈↓ -N:(SUBJECT:SPECIFIC BEHAVIOR MAY BE REQUIRED
␈↓ α,␈↓OF CF:1)SINCE THE DECISION IS BOOLEAN, JUST ANSWER YES OR NO.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓ ␈↓∧ If the user answered
␈↓ α,␈↓∧affirmatively, copious amounts of data would appear, describing
␈↓ α,␈↓∧what this choice is, the effects of each possible answer, why it
␈↓ α,␈↓∧can't wait, who wanted this done, and so on. ␈↓
␈↓ α,␈↓NOW TYPE YOUR ANSWER: ␈↓βNO␈↓
␈↓ α,␈↓OK, READY TO MOVE ON NOW.
␈↓ α,␈↓␈↓∧Here are a few more direct queries to BEINGS during the trace:␈↓
␈↓ α,␈↓REQUEST: ␈↓βUNDEFINED:SECTION:LIST
␈↓ α,␈↓β␈↓(( PARTITION:A:DOMAIN) ( PAD:2 TYPE OF ( PARTITION:A
␈↓ α,␈↓ :DOMAIN)))
␈↓ α,␈↓REQUEST: ␈↓βAWARE:USER:LIST
␈↓ α,␈↓β␈↓(( THE NAME OF THE PROGRAM TO DO ( CONCEPT:FORMATION) IS C
␈↓ α,␈↓ -F:1) ( PUP AND USER ARE ABLE TO REFER
␈↓ α,␈↓TO ( CONCEPT:FORMATION) AS TASK:NAME WHICH IS CF:1))
␈↓ α,␈↓REQUEST: ␈↓β(PLUS 2 2)␈↓ ␈↓∧ Converse to DWIM: we try to understand; if
␈↓ α,␈↓∧ we can't, THEN we try to EVAL the expression
␈↓ α,␈↓∧␈↓4
␈↓ α,␈↓REQUEST: ␈↓βDEMONS
␈↓ α,␈↓β␈↓(FRINGE:OF:CONCIOUSNESS:DEMON PSYCHOLOGY:DEMON PROGRAM:WRITING:DEMONS
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.6␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓ -DEFERRAL:DEMON REINVESTIGATION:DEMON IDIOM:DEMON
␈↓ α,␈↓SPECIFICITY:CHECK:DEMON FORGETFUL:USER:DEMON)
␈↓ α,␈↓THE DEMON STACK IS ((PROGRAM:WRITING:DEMONS DEFERRAL:DEMON REINVESTIGATI
␈↓ α,␈↓ -ON:DEMON IDIOM:DEMON SPECIFICITY:CHECK:DEMON
␈↓ α,␈↓FORGETFUL:USER:DEMON) (FORGETFUL:USER:DEMON))
␈↓ α,␈↓REQUEST: ␈↓βBEING:STACK
␈↓ α,␈↓β␈↓(WRITE:PROGRAM SERVE)
␈↓ α,␈↓REQUEST: ␈↓βNEW:LEVEL
␈↓ α,␈↓HELLO THERE. I AM READY TO START .
␈↓ α,␈↓HOW OFTEN SHOULD I LET YOU INTERRRUPT ME, TO ASK ME ABOUT WHAT I'M
␈↓ α,␈↓DOING? TYPE A DIGIT, AS EXPLAINED BELOW:
␈↓ α,␈↓0 NEVER (ULTIMATE PRODUCTION-RUN MODE)
␈↓ α,␈↓2 A COUPLE OF TIMES DURING THE COURSE OF WRITING A PROGRAM
␈↓ α,␈↓4 DURING EACH PHASE OF WRITING A PROGRAM
␈↓ α,␈↓6 DURING THE WRITING OF EACH NONTRIVIAL SUBFUNCTION OF A PROGRAM
␈↓ α,␈↓8 DURING EACH PHASE OF WRITING EACH SUBFUNCTION OF A PROGRAM
␈↓ α,␈↓10 EACH TIME A BEING TRANSFERS CONTROL (ULTIMATE DEBUG MODE)
␈↓ α,␈↓OK, NOW TYPE A DIGIT... ␈↓βNO␈↓
␈↓ α,␈↓*** ERROR *** YOU MUST TYPE ONE EVEN INTEGER FROM 0 TO 10
␈↓ α,␈↓ TRY AGAIN:
␈↓ α,␈↓␈↓β(A C)␈↓
␈↓ α,␈↓*** ERROR *** YOU MUST TYPE πNE EVEN INTEGER FROM 0 TO 10
␈↓ α,␈↓ TRY AGAIN:
␈↓ α,␈↓␈↓β8␈↓
␈↓ α,␈↓REQUEST: ␈↓βQUIT
␈↓ α,␈↓␈↓∧<We now pick up where we interrupted before (line of asterisks,
␈↓ α,␈↓∧above) with no more interruptions this time. The line of asterisks
␈↓ α,␈↓∧below marks the point corresponding to where we left interrupt-mode.
␈↓ α,␈↓∧What just took 4 pages to print now takes 7 lines; if we went through
␈↓ α,␈↓∧the entire dialogue in interrupt-mode, it would obscure the synthesis
␈↓ α,␈↓∧process.>␈↓
␈↓ α,␈↓MOVE CURSOR TO ( CF:1 TYPE OF ( CONCEPT:FORMATION))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS BOOLEAN DECISIO
␈↓ α,␈↓ -N:(SUBJECT:SPECIFIC BEHAVIOR MAY BE REQUIRED
␈↓ α,␈↓OF CF:1)SINCE THE DECISION IS BOOLEAN, JUST ANSWER YES OR NO.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.7␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓NOW TYPE YOUR ANSWER: ␈↓βNO␈↓
␈↓ α,␈↓OK, READY TO MOVE ON NOW.
␈↓ α,␈↓␈↓∧**********************************************************
␈↓ α,␈↓∧Yes, these few lines above are the same as all the previous pages
␈↓ α,␈↓∧of dialogue, but without all the interruptions.␈↓
␈↓ α,␈↓MOVE CURSOR TO CF:1
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (TEMPORARILY (PARTITION:A:DOMAIN))
␈↓ α,␈↓OF THE FUNCTION CF:1 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( PARTITION:A:DOMAIN)
␈↓ α,␈↓I DON'T KNOW ANY NAMES FOR ( PARTITION:A:DOMAIN), SO YOU'LL HAVE TO
␈↓ α,␈↓TYPE A BRAND NEW NAME IN TO ME.
␈↓ α,␈↓USER: ␈↓βPAD␈↓
␈↓ α,␈↓THE NAME CHOSEN IS PAD:2
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL NIL OF THE FUNCTION CF:1 TO THIS NEW
␈↓ α,␈↓ PIECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(CF:1
␈↓ α,␈↓ (LAMBDA (DUMMY:ARGUMENT:3 DUMMY:ARGUMENT:2 DUMMY:ARGUMENT:1)
␈↓ α,␈↓ (TEMPORARILY (PAD:2))))
␈↓ α,␈↓(CF:1 redefined) ␈↓∧ The "piece of code" is now just the META:CODE of
␈↓ α,␈↓∧the new BEING CF:1. Other parts have been filled in, so it is no
␈↓ α,␈↓∧longer defined as above. The full, long definition contains much
␈↓ α,␈↓∧bookkeeping but nothing of relevance to tell the user. ␈↓
␈↓ α,␈↓MOVE CURSOR TO ( PAD:2 TYPE OF ( PARTITION:A:DOMAIN))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS SOMEOF DECISION
␈↓ α,␈↓ :(PARTITION:BY:TAKE:ELE:AND:CLASS
␈↓ α,␈↓PARTITION:BY:TAKE:CLASS:GET:ELE PARTITION:BY:TAKE:ELE:GET:CLASS)
␈↓ α,␈↓SINCE THE DECISION IS SOME:OF, TYPE ANY ORDERED SUBSET OF:
␈↓ α,␈↓(A .... PARTITION:BY:TAKE:ELE:AND:CLASS)
␈↓ α,␈↓(B .... PARTITION:BY:TAKE:CLASS:GET:ELE)
␈↓ α,␈↓(C .... PARTITION:BY:TAKE:ELE:GET:CLASS)
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.8␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓FOR EXAMPLE, (B D) WOULD MEAN THAT THE 2ND AND 4TH ITEMS ARE RELEVANT
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓USER: ␈↓β(A C)␈↓
␈↓ α,␈↓AT THIS POINT, I ALMOST RECOMMENDED VIRTUAL STRUCTURING, BUT DECIDED
␈↓ α,␈↓AGAINST IT. THE LIST STRUCTURE WOULD HAVE BEEN DIVIDED INTO THESE
␈↓ α,␈↓PIECES: (PARTITION:BY:TAKE:ELE:AND:CLASS:PART:OF:NIL
␈↓ α,␈↓ PARTITION:BY:TAKE:ELE:GET:CLASS:PART:OF:NIL)
␈↓ α,␈↓(I GUESS THAT EACH OF THE ABOVE :NIL-S WOULD GET REPLACED BY SOMETHING L
␈↓ α,␈↓ -IKE ":PARTITION:LIST")
␈↓ α,␈↓MOVE CURSOR TO PAD:2
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (REPEATEDLY (TAKE:HOLD:OF ELEMENT)
␈↓ α,␈↓ (COND ((IS:OF:TYPE ELEMENT (COMMENT PARTITION:BY:TAKE:ELE:
␈↓ α,␈↓ -AND:CLASS))
␈↓ α,␈↓ (PROGN (TAKE:HOLD:OF NAME:OF:CLASS)
␈↓ α,␈↓ (MODIFY:STRUCTURE NAME:OF:CLASS)))
␈↓ α,␈↓ (T (PROGN (GET:HOLD:OF NAME:OF:CLASS)
␈↓ α,␈↓ (MODIFY:STRUCTURE NAME:OF:CLASS)))))
␈↓ α,␈↓OF THE FUNCTION PAD:2 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓␈↓∧<There is nothing of interest in asking the user for a name. Henceforth
␈↓ α,␈↓∧ only the result of the naming process will be printed>␈↓
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( TAKE:HOLD:OF)
␈↓ α,␈↓THE NAME CHOSEN IS TAKE:HOLD:OF:3
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( ELEMENT)
␈↓ α,␈↓THE NAME CHOSEN IS ELEMENT:4
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( IS:OF:TYPE)
␈↓ α,␈↓THE NAME CHOSEN IS HAS:NAME:5
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( ELEMENT)
␈↓ α,␈↓IS THIS THE SAME AS A ( ELEMENT) WHICH WE'VE ALREADY SEEN AND NAME
␈↓ α,␈↓ -D?
␈↓ α,␈↓USER: ␈↓βYES␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α*page A5.9␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓SINCE ELEMENT:4 IS THE ONLY NAME FOR ( ELEMENT),
␈↓ α,␈↓AT LEAST AS FAR AS PUP KNOWS RIGHT NOW, PUP ASSUMES THAT IS THE ONE
␈↓ α,␈↓YOU WANT. AM I RIGHT?
␈↓ α,␈↓USER: ␈↓βYES␈↓
␈↓ α,␈↓THE NAME CHOSEN IS ELEMENT:4
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( TAKE:HOLD:OF)
␈↓ α,␈↓THE NAME CHOSEN IS TAKE:HOLD:OF:6
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( MODIFY:STRUCTURE)
␈↓ α,␈↓THE NAME CHOSEN IS MODIFY:STRUCTURE:7
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( GET:HOLD:OF)
␈↓ α,␈↓THE NAME CHOSEN IS GET:HOLD:OF:8
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( MODIFY:STRUCTURE)
␈↓ α,␈↓THE NAME CHOSEN IS MODIFY:STRUCTURE:9
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (PAD:2) OF THE FUNCTION PAD:2 TO THI
␈↓ α,␈↓ -S NEW PIECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(PAD:2
␈↓ α,␈↓ (LAMBDA (DUMMY:ARGUMENT:3 DUMMY:ARGUMENT:2 DUMMY:ARGUMENT:1)
␈↓ α,␈↓ (PROG NIL
␈↓ α,␈↓ LABEL:1
␈↓ α,␈↓ (TAKE:HOLD:OF:3 ELEMENT:4)
␈↓ α,␈↓ (COND
␈↓ α,␈↓ ((HAS:NAME:5 ELEMENT:4 (COMMENT PARTITION:BY:TAKE:ELE:AND:CL
␈↓ α,␈↓ -ASS))
␈↓ α,␈↓ (PROGN (TAKE:HOLD:OF:6 NAME:OF:CLASS)
␈↓ α,␈↓ (MODIFY:STRUCTURE:7 NAME:OF:CLASS)))
␈↓ α,␈↓ (T (PROGN (GET:HOLD:OF:8 NAME:OF:CLASS)
␈↓ α,␈↓ (MODIFY:STRUCTURE:9 NAME:OF:CLASS))))
␈↓ α,␈↓ (GO LABEL:1)
␈↓ α,␈↓ (COMMENT INFINITE LOOP IN THIS PROG))))
␈↓ α,␈↓(PAD:2 redefined)
␈↓ α,␈↓MOVE CURSOR TO ( ELEMENT:4 TYPE OF ( ELEMENT))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS DEFINITION DECI
␈↓ α,␈↓ -SION:(WHAT IS AN ELEMENT)
␈↓ α,␈↓SINCE THE QUESTION IS ONE OF DEFINITION, PLEASE JUST
␈↓ α,␈↓TYPE IN THE DEFINITION OF ELEMENT:4
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓USER: ␈↓β(A DESCRIPTION OF A STATIC SCENE)␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.10␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓PUP: ((S:S STATIC:SCENE S SS) IS THE SET OF PLAUSIBLE NAMES OF (STATIC S
␈↓ α,␈↓ -CENE) WHICH IS AN EXPANSION OF (STATIC SCENE))
␈↓ α,␈↓PUP: (PUP WANTS USER TO TYPE IN NAME FOR (STATIC SCENE))
␈↓ α,␈↓PUP: (PUP AND USER ARE ABLE TO REFER TO (STATIC SCENE) AS TNAME WHICH IS
␈↓ α,␈↓ STATIC:SCENE:10)
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (ELEMENT:4 (COMMENT PARTITION:BY:TAK
␈↓ α,␈↓ -E:ELE:AND:CLASS)) OF THE FUNCTION ELEMENT:4 TO THIS NEW PIECE OF CODE,
␈↓ α,␈↓ WHICH IS ITS BODY:
␈↓ α,␈↓(ELEMENT:4
␈↓ α,␈↓ (LAMBDA (DUMMY:ARGUMENT:3 DUMMY:ARGUMENT:2 DUMMY:ARGUMENT:1)
␈↓ α,␈↓ (STRUCTURE (OBJECTS SET O)
␈↓ α,␈↓ (CLASS:NAME NAME N)
␈↓ α,␈↓ (STATIC RELATIONS S BETWEEN OBJECTS))))
␈↓ α,␈↓(ELEMENT:4 redefined)
␈↓ α,␈↓MOVE CURSOR TO ( HAS:NAME:5 TYPE OF ( IS:OF:TYPE))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS DEFINITION DECI
␈↓ α,␈↓ -SION:(HOW DO WE KNOW WHEN THE 'IS:OF:TYPE'
␈↓ α,␈↓PREDICATE IS TRUE, AND WHEN IT IS FALSE? PUP ASSUMES THAT USER WILL TYPE
␈↓ α,␈↓ IN A LOGICAL SENTENCE WHOSE TRUTH IS EQUIVALENT
␈↓ α,␈↓TO IT)SINCE THE QUESTION IS ONE OF DEFINITION, PLEASE JUST
␈↓ α,␈↓TYPE IN THE DEFINITION OF HAS:NAME:5
␈↓ α,␈↓SINCE THIS IS A PREDICATE, THE EXPRESSION YOU TYPE IN SHOULD BE A
␈↓ α,␈↓LOGICAL EXPRESSION, WHICH IS TRUE IF ELEMENT:4 IS OF
␈↓ α,␈↓THE (PARTITION:BY:TAKE:ELE:AND:CLASS) TYPE, AND SHOULD BE FALSE IF IT IS
␈↓ α,␈↓ -NT OF
␈↓ α,␈↓THAT TYPE.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓USER: ␈↓β(THE FRONT PART OF ARG1 ISNT ???)␈↓
␈↓ α,␈↓(IS ??? A LITERAL CONSTANT (WHOSE VALUE SHOULD BE ITSELF) (REPLY YES OR
␈↓ α,␈↓ -NO, PLEASE) USER...)
␈↓ α,␈↓␈↓βYES␈↓
␈↓ α,␈↓MOVE CURSOR TO HAS:NAME:5
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (NOT (EQUAL (CAR ARG1)
␈↓ α,␈↓ ???))
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.11␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓OF THE FUNCTION HAS:NAME:5 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (HAS:NAME:5 ELEMENT:4 (COMMENT PARTI
␈↓ α,␈↓ -TION:BY:TAKE:ELE:AND:CLASS)) OF THE FUNCTION HAS:NAME:5 TO THIS NEW PI
␈↓ α,␈↓ -ECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(HAS:NAME:5
␈↓ α,␈↓ (LAMBDA (ARG1 DUMMY:ARGUMENT:2 DUMMY:ARGUMENT:1)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS ELEMENT:4)
␈↓ α,␈↓ (NOT (EQUAL (CAR ARG1)
␈↓ α,␈↓ ???))))
␈↓ α,␈↓(HAS:NAME:5 redefined)
␈↓ α,␈↓MOVE CURSOR TO ( TAKE:HOLD:OF:3 TYPE OF ( TAKE:HOLD:OF))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS DICHOTOMY DECIS
␈↓ α,␈↓ -ION:...
␈↓ α,␈↓AHA!!!! I'VE RESOLVED IT MYSELF!!! NO NEED TO INTERACT WITH THE SLOW
␈↓ α,␈↓USER CHANNEL AFTER ALL!!!
␈↓ α,␈↓(PUP IS ABOUT TO ENCODE AN ASSIGNMENT: (OBJECTS SET O) WILL BE SET TO SO
␈↓ α,␈↓ -ME PART OF ARG1 WHICH IS GOING TO BE
␈↓ α,␈↓INSTANTIATED DURING THE RUNNING OF THE PROGRAM AS ELEMENT:4 .PUP WANTS A
␈↓ α,␈↓ NAME FOR THIS 'SOME PART OF' FUNCTION.)
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( OBJECTS:SET:O)
␈↓ α,␈↓I DON'T KNOW ANY NAMES FOR ( OBJECTS:SET:O), SO YOU'LL HAVE TO
␈↓ α,␈↓TYPE A BRAND NEW NAME IN TO ME.
␈↓ α,␈↓USER: ␈↓βELEMENT:OBJECTS␈↓
␈↓ α,␈↓THE NAME CHOSEN IS ELEMENT:OBJECTS:11
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( SOME:PART:OF)
␈↓ α,␈↓THE NAME CHOSEN IS SOME:PART:OF:12
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (TAKE:HOLD:OF:3 ELEMENT:4) OF THE FU
␈↓ α,␈↓ -NCTION TAKE:HOLD:OF:3 TO THIS NEW PIECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(TAKE:HOLD:OF:3
␈↓ α,␈↓ (NLAMBDA (ARG1)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS ELEMENT:4)
␈↓ α,␈↓ (PROGN (PUPRINT (COMMENT READY TO ACCEPT BRAND NEW ELEMENT:4))
␈↓ α,␈↓ (SET ARG1 (PREAD))
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.12␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓ (SETQ ELEMENT:OBJECTS:11 (SOME:PART:OF:12 (EVAL ARG1)))
␈↓ α,␈↓ (SETQ ELEMENT:CLASSNAME:13 (SOME:PART:OF:14 (EVAL ARG1)))
␈↓ α,␈↓ (SETQ ELEMENT:RELNS:15 (SOME:PART:OF:16 (EVAL ARG1)))
␈↓ α,␈↓ T)))
␈↓ α,␈↓(TAKE:HOLD:OF:3 redefined)
␈↓ α,␈↓(COMMENT NAME:OF:CLASS IS NOT A BEING YET)
␈↓ α,␈↓MOVE CURSOR TO ( TAKE:HOLD:OF:6 TYPE OF ( TAKE:HOLD:OF))
␈↓ α,␈↓(THE ASSIGNMENT WHICH SET NAME:OF:CLASS
␈↓ α,␈↓ WAS DONE EARLIER; SHOULD A NEW VALUE OF N
␈↓ α,␈↓ -AME:OF:CLASS BE READ IN AT THIS POINT IN
␈↓ α,␈↓THE PROGRAM FLOW? USER...)
␈↓ α,␈↓␈↓βNO␈↓
␈↓ α,␈↓MOVE CURSOR TO TAKE:HOLD:OF:6
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (TAKE:HOLD:OF:6 NAME:OF:CLASS) OF TH
␈↓ α,␈↓ -E FUNCTION TAKE:HOLD:OF:6 TO THIS NEW PIECE OF CODE, WHICH IS ITS BODY
␈↓ α,␈↓ :
␈↓ α,␈↓(TAKE:HOLD:OF:6
␈↓ α,␈↓ (NLAMBDA (ARG1)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS NAME:OF:CLASS
␈↓ α,␈↓ )
␈↓ α,␈↓ (PROGN (COMMENT NOTHING MUCH TO DO HERE; JUST ONE SIMPLE ASSIGNMENT
␈↓ α,␈↓ -TO AN ALREADY EXISITNG VALUE)
␈↓ α,␈↓ (SET ARG1 OBVIOUS:KNOWN:VALUE:OF:NAME:OF:CLASS))))
␈↓ α,␈↓(TAKE:HOLD:OF:6 redefined)
␈↓ α,␈↓MOVE CURSOR TO ( GET:HOLD:OF:8 TYPE OF ( GET:HOLD:OF))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS SOMEOF DECISION
␈↓ α,␈↓ :(COMPUTE SEARCH GENERATE:AND:TEST)
␈↓ α,␈↓SINCE THE DECISION IS SOME:OF, TYPE ANY ORDERED SUBSET OF:
␈↓ α,␈↓(A .... COMPUTE)
␈↓ α,␈↓(B .... SEARCH)
␈↓ α,␈↓(C .... GENERATE:AND:TEST)
␈↓ α,␈↓USER: ␈↓β(B)␈↓
␈↓ α,␈↓YOU MUST GIVE ME A LIST OF ALL THE VALUES THAT COULD EVER OCCUR AS
␈↓ α,␈↓NAMES ON THE LIST STRUCTURE SET:OF:POSSIBLE:NAMES:OF:CLASS
␈↓ α,␈↓IF THIS ISN'T MEANINGFUL, REPLY NIL.
␈↓ α,␈↓USER: ␈↓βNIL␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.13␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓MOVE CURSOR TO ( GET:HOLD:OF:8 TYPE OF ( GET:HOLD:OF))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS BOOLEAN DECISIO
␈↓ α,␈↓ -N:(DOES AN ALGORITHM ALREADY EXIST WHICH GETS
␈↓ α,␈↓PRECISELY NAME:OF:CLASS)SINCE THE DECISION IS BOOLEAN, JUST ANSWER YES O
␈↓ α,␈↓ -R NO.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓NOW TYPE YOUR ANSWER: ␈↓βNO␈↓
␈↓ α,␈↓OK, READY TO MOVE ON NOW.
␈↓ α,␈↓MOVE CURSOR TO GET:HOLD:OF:8
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (PROGN (FOREACH POSSIBLE:NAME:OF:CLASS IN SET:OF:POSSIBLE:NAMES:OF:CLA
␈↓ α,␈↓ -SS DO (TEST POSSIBLE:NAME:OF:CLASS
␈↓ α,␈↓ (COMMENT FOR SATISFACTION OF GOAL
␈↓ α,␈↓ CRITERIA)))
␈↓ α,␈↓ (PUPRIN1 "
␈↓ α,␈↓MY GUESS FOR THIS IS ")
␈↓ α,␈↓ (PUPRINT POSSIBLE:NAME:OF:CLASS))
␈↓ α,␈↓OF THE FUNCTION GET:HOLD:OF:8 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( FOREACH)
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓MOVE CURSOR TO ( FOREACH:17 TYPE OF ( FOREACH))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS BOOLEAN DECISIO
␈↓ α,␈↓ -N:(I ASSUME THAT I STOP AFTER EXAMINING ALL
␈↓ α,␈↓POSSIBLE:NAMES:OF:CLASS IN SET:OF:POSSIBLE:NAMES:OF:CLASS ; DO I ALSO ST
␈↓ α,␈↓ -OP AFTER SOME CONDITION 'C' BECOMES TRUE?)
␈↓ α,␈↓SINCE THE DECISION IS BOOLEAN, JUST ANSWER YES OR NO.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓NOW TYPE YOUR ANSWER: ␈↓βYES␈↓
␈↓ α,␈↓PLEASE TYPE IN A PREDICATE EQUIVALENT TO THIS UNTIL CONDITION 'C'.
␈↓ α,␈↓(TYPING IN ] WILL MEAN THAT THE CONDITION IS THAT RESULT:1
␈↓ α,␈↓ IS NONNULL.)
␈↓ α,␈↓USER: ␈↓β(TEST:18 SUCCEEDED)␈↓
␈↓ α,␈↓OK, READY TO MOVE ON NOW.
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.14␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓MOVE CURSOR TO FOREACH:17
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (FOREACH:17 POSSIBLE:NAME:OF:CLASS I
␈↓ α,␈↓ -N SET:OF:POSSIBLE:NAMES:OF:CLASS DO (TEST:18 POSSIBLE:NAME:OF:CLASS (C
␈↓ α,␈↓ -OMMENT FOR SATISFACTION OF GOAL CRITERIA))) OF THE FUNCTION FOREACH:17
␈↓ α,␈↓ TO THIS NEW PIECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(FOREACH:17
␈↓ α,␈↓ (NLAMBDA (ARG1 DUMMY:ARGUMENT:2 ARG3 DUMMY:ARGUMENT:1 ARG5)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG3 IS INSTANTIATED AS SET:OF:POSSIB
␈↓ α,␈↓ -LE:NAMES:OF:CLASS)
␈↓ α,␈↓ (PROGN (COMMENT IN ALL CALLS TO DATE, ARG1 IS BOUND TO POSSIBLE:NAME
␈↓ α,␈↓ :OF:CLASS)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG3 IS BOUND TO SET:OF:POSSIB
␈↓ α,␈↓ -LE:NAMES:OF:CLASS)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG5 IS BOUND TO (COMMENT TEST
␈↓ α,␈↓ :18 POSSIBLE:NAME:OF:CLASS
␈↓ α,␈↓ (COM
␈↓ α,␈↓ -MENT FOR SATISFACTION OF GOAL CRITERIA)))
␈↓ α,␈↓ (PROG (RESULT:1)
␈↓ α,␈↓ (SETQ EVAL:ARG3 (EVAL ARG3))
␈↓ α,␈↓ LABEL:2
␈↓ α,␈↓ (COND
␈↓ α,␈↓ ((NULL EVAL:ARG3)
␈↓ α,␈↓ (SET ARG1 FAILURE:VALUE)
␈↓ α,␈↓ (RETURN EXHAUSTION:VALUE)))
␈↓ α,␈↓ (SET ARG1 (CAR EVAL:ARG3))
␈↓ α,␈↓ (SETQ EVAL:ARG3 (CDR EVAL:ARG3))
␈↓ α,␈↓ (SETQ RESULT:1 (EVAL ARG5))
␈↓ α,␈↓ (COND
␈↓ α,␈↓ ((NOT (EQUAL RESULT:1 NIL))
␈↓ α,␈↓ (RETURN UNTIL:CONDITION:VALUE))
␈↓ α,␈↓ (T (GO LABEL:2)))
␈↓ α,␈↓ (COMMENT AT THE TIME THAT FOREACH:17 WAS CODED, THE UNT
␈↓ α,␈↓ -IL CONDITION VALUE WAS LEFT UNDEFINED)))))
␈↓ α,␈↓(FOREACH:17 redefined)
␈↓ α,␈↓MOVE CURSOR TO ( TEST:18 TYPE OF ( TEST))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS BOOLEAN DECISIO
␈↓ α,␈↓ -N:(SHOULD WE IMPLEMENT ERROR RECOVERY IN ANY
␈↓ α,␈↓FANCY WAY)SINCE THE DECISION IS BOOLEAN, JUST ANSWER YES OR NO.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓NOW TYPE YOUR ANSWER: ␈↓βNO␈↓
␈↓ α,␈↓NOTHING TO DO AT THIS TIME, THEN.
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.15␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓OK, READY TO MOVE ON NOW.
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS DICHOTOMY DECIS
␈↓ α,␈↓ -ION:(( THE TESTING MAY HAVE THE CHARACTER
␈↓ α,␈↓OF COMPARING THE OBJECT ( THAT IS, ARG1, ALSO KNOWN AS
␈↓ α,␈↓ ( CADDR ENT1)) WITH SOME DISTINGUISHED OBJECT)
␈↓ α,␈↓( TESTING MAY HAVE THE CHARACTER OF LETTING THE OBJECT ( WHI
␈↓ α,␈↓ -CH IS ARG1) COMPETE WITH ITS FELLOW OBJECTS
␈↓ α,␈↓FOR SUPREMACY)
␈↓ α,␈↓ABOVE, ARG1 REFERS TO POSSIBLE:NAME:OF:CLASS )
␈↓ α,␈↓AHA!!!! I'VE RESOLVED IT MYSELF!!! NO NEED TO INTERACT WITH THE SLOW
␈↓ α,␈↓USER CHANNEL AFTER ALL!!!
␈↓ α,␈↓MOVE CURSOR TO TEST:18
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (COMPARE ARG1 ELEMENT:4)
␈↓ α,␈↓OF THE FUNCTION TEST:18 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( COMPARE)
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (COMPARE:19 ARG1 ELEMENT:4) OF THE F
␈↓ α,␈↓ -UNCTION COMPARE:19 TO THIS NEW PIECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(COMPARE:19
␈↓ α,␈↓ (LAMBDA (ARG1 ARG2)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS POSSIBLE:NAME
␈↓ α,␈↓ :OF:CLASS)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG2 IS INSTANTIATED AS ELEMENT:4)
␈↓ α,␈↓ (PROGN ARG1 ARG2 (COMMENT ARG1 AND ARG2 ARE HERE SIMPLY TO CAUSE PUP
␈↓ α,␈↓ TO STICK IN COMMENTS ABOUT THEIR INSTANTIATION)
␈↓ α,␈↓ (JOIN:23 (COMPARE:24 POSSIBLE:NAME:OF:CLASS:OBJECTS:20 ELEMEN
␈↓ α,␈↓ -T:OBJECTS:11)
␈↓ α,␈↓ (COMPARE:25 POSSIBLE:NAME:OF:CLASS:CLASSNAME:21 ELEM
␈↓ α,␈↓ -ENT:CLASSNAME:13)
␈↓ α,␈↓ (COMPARE:26 POSSIBLE:NAME:OF:CLASS:RELNS:22 ELEMENT:
␈↓ α,␈↓ -RELNS:15)))))
␈↓ α,␈↓(COMPARE:19 redefined)
␈↓ α,␈↓␈↓∧Here begins one of the sections discussed on page 11 of this paper.␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.16␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓MOVE CURSOR TO ( JOIN:23 TYPE OF ( JOINING:FUNCTION))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS PREDICATE DECIS
␈↓ α,␈↓ -ION:(WHEN WE TERMINATE THE LOOP)
␈↓ α,␈↓PLEASE TYPE IN A LOGICAL EXPRESSION WHICH IS TRUE ( WHEN WE TERMIN
␈↓ α,␈↓ -ATE THE LOOP) AND IS FALSE OTHERWISE.
␈↓ α,␈↓SHOULD I DISCUSS RAMIFICATIONS?␈↓βNO␈↓
␈↓ α,␈↓USER: ␈↓β(ANY RELATION IN POSSIBLE:NAME:OF:CLASS:RELNS:22 IS INCOMPATIBLE
␈↓ α,␈↓β WITH ELEMENT:RELNS:15)␈↓
␈↓ α,␈↓MOVE CURSOR TO JOIN:23
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (AND ARG1 ARG2 ARG3)
␈↓ α,␈↓OF THE FUNCTION JOIN:23 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL OF THE FUNCTION JOIN:23 TO THIS NEW PI
␈↓ α,␈↓ -ECE OF CODE, WHICH IS ITS BODY:
␈↓ α,␈↓(JOIN:23
␈↓ α,␈↓ (LAMBDA (ARG1 ARG2 ARG3)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS
␈↓ α,␈↓ COMPARE:24 POSSIBLE:NAME:OF:CLASS:OBJECTS:20 ELEMENT:OBJECTS:11))
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG2 IS INSTANTIATED AS
␈↓ α,␈↓ COMPARE:25 POSSIBLE:NAME:OF:CLASS:CLASSNAME:21 ELEMENT:CLASSNAME:13))
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG3 IS INSTANTIATED AS
␈↓ α,␈↓ COMPARE:26 POSSIBLE:NAME:OF:CLASS:RELNS:22 ELEMENT:RELNS:15))
␈↓ α,␈↓ (AND ARG1 ARG2 ARG3)))
␈↓ α,␈↓(JOIN:23 redefined)
␈↓ α,␈↓(COMMENT POSSIBLE:NAME:OF:CLASS:OBJECTS:20 IS NOT A BEING YET)
␈↓ α,␈↓(COMMENT ELEMENT:OBJECTS:11 IS NOT A BEING YET)
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓ .
␈↓ α,␈↓MOVE CURSOR TO ( COMPARE:26 TYPE OF ( COMPARE))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS DICHOTOMY DECIS
␈↓ α,␈↓ -ION:(( COMPARING MAY INVOLVE A FUNCTION
␈↓ α,␈↓APPLIED DIRECTLY TO THE TWO ARGUMENTS) ( COMPARING MAY INVOLVE APP
␈↓ α,␈↓ -LYING A FUNCTION TO CORRESPONDING PAIRS OF
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.17␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓SUBPARTS OF THE OBJECTS, AND FINALLY JOINING TOGETHER ALL THESE SUB-COMP
␈↓ α,␈↓ -ARISONS' RESULTS) (ABOVE, A
␈↓ α,␈↓ -RG1 REFERS TO POSSIBLE:NAME:OF:CLASS:RELNS:22
␈↓ α,␈↓;ALSO, PLEASE IGNORE THE THIRD 'CHOICE'; IT IS ONLY FOR ME TO LOOK AT)
␈↓ α,␈↓AHA!!!! I'VE RESOLVED IT MYSELF!!! NO NEED TO INTERACT WITH THE SLOW
␈↓ α,␈↓USER CHANNEL AFTER ALL!!!
␈↓ α,␈↓MOVE CURSOR TO COMPARE:26
␈↓ α,␈↓PUP IS NOW GOING TO ENCODE THE PIECE
␈↓ α,␈↓ (PROGN (COMMENT HERE WE MAY LATER WANT TO PUT SOME ASSIGNMENTS, REWRIT
␈↓ α,␈↓ -ES, AND ITERATIVE STATEMENTS)
␈↓ α,␈↓ (COND ((NOT (FORSOME RELATION IN POSSIBLE:NAME:OF:CLASS:RELNS:2
␈↓ α,␈↓ -2 (RECOGNIZE:# RELATION ELEMENT:RELNS:15)))
␈↓ α,␈↓ T)
␈↓ α,␈↓ (T NIL)))
␈↓ α,␈↓OF THE FUNCTION COMPARE:26 INTO LISP. FUNCTION NAMES WILL
␈↓ α,␈↓BE QUERIED IN PREORDER, AS NEEDED.
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( RECOGNIZE:#)
␈↓ α,␈↓I DON'T KNOW ANY NAMES FOR ( RECOGNIZE:#), SO YOU'LL HAVE TO
␈↓ α,␈↓TYPE A BRAND NEW NAME IN TO ME.
␈↓ α,␈↓USER: ␈↓βCONTRADICTS␈↓
␈↓ α,␈↓THE NAME CHOSEN IS CONTRADICTS:27
␈↓ α,␈↓MOVE CURSOR TO ( CONTRADICTS:27 TYPE OF ( RECOGNIZE:#))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS SOMEOF DECISION
␈↓ α,␈↓ :(PROBABILITY=1:# PROBABILITY=0:#
␈↓ α,␈↓PROBABILITY>0&<1:#)SINCE THE DECISION IS SOME:OF, TYPE ANY ORDERED SUBSE
␈↓ α,␈↓ -T OF:
␈↓ α,␈↓(A .... PROBABILITY=1:#)
␈↓ α,␈↓(B .... PROBABILITY=0:#)
␈↓ α,␈↓(C .... PROBABILITY>0&<1:#)
␈↓ α,␈↓USER: ␈↓β(A B C)␈↓
␈↓ α,␈↓(I RECOMMEND THAT POSSIBLE:NAME:OF:CLASS:RELNS:22 BE STRUCTURED INTO (AT
␈↓ α,␈↓ LEAST ALONG ONE DIMENSION) THESE 3 PIECES:
␈↓ α,␈↓(PROBABILITY=1:#:PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22 PROBABILITY=0:#
␈↓ α,␈↓ :PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22
␈↓ α,␈↓PROBABILITY>0&<1:#:PART:OF:POSSIBLE:NAME:OF:CLASS:RELNS:22) .PLEASE TYPE
␈↓ α,␈↓ BACK YES, NO, OR UNSURE.)
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.18␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓USER: ␈↓βYES␈↓
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY:1:#:PART:OF:POSSI
␈↓ α,␈↓ -BLE:NAME:OF:CLASS:RELNS)
␈↓ α,␈↓I DON'T KNOW ANY NAMES FOR ( PROBABILITY:1:#:PART:OF:POSSIBLE:NAME
␈↓ α,␈↓ :OF:CLASS:RELNS), SO YOU'LL HAVE TO
␈↓ α,␈↓TYPE A BRAND NEW NAME IN TO ME.
␈↓ α,␈↓USER: ␈↓βYES:RELNS␈↓
␈↓ α,␈↓THE NAME CHOSEN IS YES:RELNS:28
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY:0:#:PART:OF:POSSI
␈↓ α,␈↓ -BLE:NAME:OF:CLASS:RELNS)
␈↓ α,␈↓THE NAME CHOSEN IS NO:RELNS:29
␈↓ α,␈↓PUP WANTS USER TO TYPE IN NAME FOR ( PROBABILITY>0&<1:#:PART:OF:PO
␈↓ α,␈↓ -SSIBLE:NAME:OF:CLASS:RELNS)
␈↓ α,␈↓THE NAME CHOSEN IS MAYBE:RELNS:30
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (CONTRADICTS:27 RELATION ELEMENT:REL
␈↓ α,␈↓ -NS:15) OF THE FUNCTION CONTRADICTS:27 TO THIS NEW PIECE OF CODE, WHICH
␈↓ α,␈↓ IS ITS BODY:
␈↓ α,␈↓(CONTRADICTS:27
␈↓ α,␈↓ (LAMBDA (ARG1 ARG2)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS RELATION)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG2 IS INSTANTIATED AS ELEMENT:RELNS
␈↓ α,␈↓ :15)
␈↓ α,␈↓ (PROGN NIL
␈↓ α,␈↓ (COND
␈↓ α,␈↓ ((MEMBER ARG1 YES:RELNS:28)
␈↓ α,␈↓ (PROGN (COMMENT ARG1 OCCURS WITH PROBABILITY 1, SO IT HAD
␈↓ α,␈↓ BETTER BE
␈↓ α,␈↓ IN ARG2, THE RELEVANT PIECE OF THE WORLD)
␈↓ α,␈↓ (NOT (MEMBER ARG1 ARG2))))
␈↓ α,␈↓ ((MEMBER ARG1 NO:RELNS:29)
␈↓ α,␈↓ (PROGN (COMMENT SINCE ARG1 SHOULD NEVER OCCUR, WE HAVE A
␈↓ α,␈↓ -CONTRADICTION
␈↓ α,␈↓ IF IT IS A MEMBER OF
␈↓ α,␈↓ -ARG2)
␈↓ α,␈↓ (MEMBER ARG1 ARG2)))
␈↓ α,␈↓ (T (PROGN (COMMENT WE MAY OR MAY NOT HAVE ARG1 IN ARG2; EIT
␈↓ α,␈↓ -HER CASE IS ALLOWABLE; SO WE
␈↓ α,␈↓ NEVER HAVE A CONTRADICTION)
␈↓ α,␈↓ NIL))))))
␈↓ α,␈↓(CONTRADICTS:27 redefined)
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.19␈↓ ↑User/PUP6 Dialogue excerpts␈↓
␈↓ α,␈↓␈↓αBEINGS␈↓␈↓
i␈↓βDoug Lenat␈↓
␈↓ α,␈↓PUP: (PUP WORKED ON SOMETHING IMPROBABLE, NAMELY (IN ALL CODE GENERATED,
␈↓ α,␈↓ POSSIBLE:NAME:OF:CLASS:RELNS:22 SHOULD BE
␈↓ α,␈↓REPLACED BY (APPEND YES:RELNS:28 NO:RELNS:29 MAYBE:RELNS:30)) ,AND HERE
␈↓ α,␈↓ -IS WHAT WE FINALLY DID ABOUT IT: (WE REPLACED
␈↓ α,␈↓ALL OCCURRENCES OF POSSIBLE:NAME:OF:CLASS:RELNS:22 BY (APPEND YES:RELNS:
␈↓ α,␈↓ -28 NO:RELNS:29 MAYBE:RELNS:30)))
␈↓ α,␈↓MOVE CURSOR TO ( MODIFY:STRUCTURE:7 TYPE OF ( MODIFY:STRUCTU
␈↓ α,␈↓ -RE))
␈↓ α,␈↓PUP: SORRY TO BOTHER YOU, BUT I CAN NO LONGER DEFER THIS SUBSETOF DECISI
␈↓ α,␈↓ -ON:(CONDITIONAL:INSERTION CONDITIONAL:DELETION
␈↓ α,␈↓COMPLEX:ALTERATION)SINCE THE DECISION IS SUBSET:OF, TYPE ANY ORDERED SUB
␈↓ α,␈↓ -SET OF:
␈↓ α,␈↓(A .... CONDITIONAL:INSERTION)
␈↓ α,␈↓(B .... CONDITIONAL:DELETION)
␈↓ α,␈↓(C .... COMPLEX:ALTERATION)
␈↓ α,␈↓USER: ␈↓β(A C)␈↓
␈↓ α,␈↓DRAW A LINE FROM THE FUNCTION CALL (MODIFY:STRUCTURE:7 NAME:OF:CLASS) O
␈↓ α,␈↓ -F THE FUNCTION MODIFY:STRUCTURE:7 TO THIS NEW PIECE OF CODE, WHICH IS
␈↓ α,␈↓ -ITS BODY:
␈↓ α,␈↓(MODIFY:STRUCTURE:7
␈↓ α,␈↓ (LAMBDA (ARG1)
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG1 IS INSTANTIATED AS NAME:OF:CLASS
␈↓ α,␈↓ )
␈↓ α,␈↓ (COMMENT IN ALL CALLS TO DATE, ARG2 IS INSTANTIATED AS NIL)
␈↓ α,␈↓ (PROGN (CONDITIONAL:INSERTION:31 ARG1 ARG2)
␈↓ α,␈↓ (COMPLEX:ALTERATION:32 ARG1 ARG2))))
␈↓ α,␈↓(MODIFY:STRUCTURE:7 redefined)
␈↓ α,␈↓I HAVE DECIDED TO KEEP POSSIBLE:NAME:OF:CLASS STRUCTURED USING THE PROPE
␈↓ α,␈↓ -RTY LIST
␈↓ α,␈↓FEATURE OF LISP. FOR THIS REASON, I NEED TO HAVE A NAME FOR EACH
␈↓ α,␈↓PROPERTY (CORRESPONDING TO EACH SUBPART OF POSSIBLE:NAME:OF:CLASS) :
␈↓ α,␈↓␈↓∧<This is the end of the example fragments of dialogue>␈↓
␈↓ α,␈↓␈↓¬Fourth Draft .... October 17, 1974␈α?␈α?␈α?␈α?␈α"page A5.20␈↓ ↑User/PUP6 Dialogue excerpts␈↓